DelegatingInterceptorInvocationContext{
  this.invocationQueue=new ArrayList<Interceptor>(interceptors);
  this.interceptorInstances=new ArrayList<Object>(instances);
}
getContextData{
  return delegateInvocationContext.getContextData();
}
getMethod{
  return delegateInvocationContext.getMethod();
}
getParameters{
  return delegateInvocationContext.getParameters();
}
getTarget{
  return delegateInvocationContext.getTarget();
}
proceed{
  int oldPosition=position;
  try {
    if (position < invocationQueue.size()) {
      Object interceptorInstance=interceptorInstances.get(position);
      try {
        return invocationQueue.get(position++).intercept(interceptionType,interceptorInstance,this);
 catch (      Exception e) {
        if (e instanceof WeldException && e.getCause() instanceof Exception) {
          throw ((Exception)e.getCause());
          throw e;
      return delegateInvocationContext.proceed();
    position=oldPosition;
}
setParameters{
  delegateInvocationContext.setParameters(params);
}
getTimer{
  return delegateInvocationContext.getTimer();
}
